<?php
#
# Index limonade
# --
# FRONT Camping Houlgate

# TODO

# BUGS

require_once '../lib/limonade.php';

function configure()
{
  // Options de l'application

  option('env', ENV_DEVELOPMENT);
  option('base_path', '/front/');
  option('dir_public', option('base_path'). 'public/');
  option('dir_css', option('dir_public').'css/');
  option('dir_js', option('dir_public').'js/');
  option('dir_img', option('dir_public').'img/');
  setlocale(LC_TIME, "fr_FR");
  
  // BDD
  $BDD_hote='localhost'; 
  $BDD_port='3306';
  $BDD_nom_bd='camping'; 
  $BDD_utilisateur='root';
  $BDD_mot_passe=''; 

  try
  {
      $BDD= new PDO('mysql:host='.$BDD_hote.';dbname='.$BDD_nom_bd, $BDD_utilisateur, $BDD_mot_passe);
      option('db_conn', $BDD);
  }
   
  catch(Exception $e)
  {
      echo 'Erreur : '.$e->getMessage().'<br />';
      echo 'N° : '.$e->getCode();
  }
  
  // Espaces
  $connexion_membre = false;

}

# Avant le lancement de l'application
function before()
{
//  // Regex restrictions page
//    $espacemembre = array(
//      '\/forum',
//      '\/annuaire',
//      '\/annuaire\/\d+',
//      '\/membre\/profil'
//    );
//  // Liste des pages dynamiques
//  $pages_publiques = array();
//  $pages_membre = array();
//  $pages = select_pages();
//
//  foreach($pages as $page)
//  {
//    if($page['idpermission_page'] == 1) {
//      $pages_publiques[] = $page;
//    } else if($page['idpermission_page'] == 2) {
//      $pages_membre[] = $page;
//      $espacemembre[] =  '\/page\/'.$page['permalien'].'';
//    } else if($page['idpermission_page'] == 3) {
//      $pages_entreprise[] = $page;
//      $espaceentreprise[] =  '\/page\/'.$page['permalien'].'';
//    }
//  }
//  // Page accessible pour les membres
//  if(!verif_connexion_entreprise()) {
//
//    foreach ($espacemembre as $regexp)
//    {
//      if (preg_match("/^$regexp/i", request_uri()) AND !verif_connexion_membre())
//      {
//        // On essaye d'accéder à une page interdite
//        flash('info', 'Veuillez vous connecter pour accéder à cette page');
//        redirect_to('membre/connexion'); # Redirection sur le formulaire pour test
//      }
//    }
//  }
//  
//  // Maintenance? 
//  if(verif_maintenance()) {
//     halt(NOT_FOUND, "Désole le site est actuellement en maintenance.");   
//  }
//  // Layout par défaut
//  // On va chercher les membres récents et les dernières actualités
//  $membres_recents = membres_recents(3);
//  $dernieres_actualites = dernieres_actualites(3);
//
//  set('pages_publiques', $pages_publiques);
//  set('pages_membre', $pages_membre);
//
//  set('membres_recents', $membres_recents);
//  set('dernieres_actualites', $dernieres_actualites);
  layout('layout/default.html.php');

}

# Définition des routes et des controleurs
##########################################
# Not found, Erreur 404

function not_found($errno, $errstr, $errfile=null, $errline=null)
    {
        set('errno', $errno);
        set('errstr', $errstr);
        set('errfile', $errfile);
        set('errline', $errline);
        
        set('page_title', "Erreur ".$errno);
        return html("404.html.php");
    }
# Index
dispatch('/', 'index');
  function index()
  {
      // On va chercher les données de la page d'accueil
//    $page = select_page_id(66);
    $page['contenu'] = 'Contenu de ma page d\'accueil';
    set('page', $page);
    
    set('page_title', 'Index du site');
    return html('index.html.php'); // Première page contenu, deuxième page layout
  }

  
  # PAGE TEST
dispatch('/test', 'test_index');
  function test_index()
  {
      // On va chercher les données de la page d'accueil
//    $page = select_page_id(66
    $page['contenu'] = 'Contenu de ma page de test';
    set('page', $page);
    
    set('page_title', 'Page de test');
    return html('index.html.php'); // Première page contenu, deuxième page layout
  }
  
  
  
# GET Pages administrables /pages/:permalien
dispatch('/page/:permalien', 'page');
  function page()
  { 
    if( $page = select_page(params('permalien')) )
    {   
      // Si la page est online
        set('page_title', $page['titre']);
        set('page', $page); 
        return html('page/page.html.php');   
    }
    else
    {
      halt(NOT_FOUND, "Cette page n'existe pas."); # Rendu erreur
    }
     
    
    return html('index.html.php');
    
  }
  
# GET Inscription /inscription
dispatch('/inscription', 'inscription_index');
  function inscription_index()
  {
     # SET
    set('page_title', "Formulaire Inscription au camping de Houlgate");
    return html('inscription/inscription.html.php'); # rendu HTML
  }
  
# POST Inscription /inscription
  dispatch_post('/inscription', 'inscription_envoiformulaire');
  function inscription_envoiformulaire() {
    // Traitement formulaire
    if($_POST['nom'] == '') {
        flash_now('errors', 'Veuillez écrire votre nom');
    } else if($_POST['nom'] != '') {
        flash_now('info', 'Formulaire valide');
    }
     # SET
    set('page_title', "Formulaire Inscription au camping de Houlgate");
    return html('inscription/inscription.html.php'); # rendu HTML
  }
# Require autres routes
require_once 'routes.membre.php';

# Lancement de l'application
run();

?>